Skip to content

Add CI configuration for macOS and Linux builds#5

Merged
myyc merged 10 commits intomasterfrom
feature/ci-configuration
Sep 10, 2025
Merged

Add CI configuration for macOS and Linux builds#5
myyc merged 10 commits intomasterfrom
feature/ci-configuration

Conversation

@myyc
Copy link
Copy Markdown
Owner

@myyc myyc commented Sep 10, 2025

Summary

  • Copy GitHub Actions workflow from nhac project
  • Remove Android-specific build steps
  • Configure release workflow for DMG and Flatpak files only
  • Update all scripts and configurations for aks project
  • Use self-hosted runners with [self-hosted, macOS] and [self-hosted, Linux] tags

Test plan

  • Verify CI workflow runs successfully on both macOS and Linux runners
  • Confirm DMG and Flatpak artifacts are properly built and uploaded
  • Test release workflow with version tag

🤖 Generated with Claude Code

myyc and others added 10 commits September 10, 2025 16:57
- Copy GitHub Actions workflow from nhac project
- Remove Android-specific build steps
- Configure release workflow for DMG and Flatpak files only
- Update all scripts and configurations for aks project
- Use self-hosted runners with [self-hosted, macOS] and [self-hosted, Linux] tags

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update widget test to use AksApp instead of non-existent MyApp
- Add native library build step to CI test script before running tests
- This ensures libraw_processor.so and libvulkan_processor.so are available

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Split CI workflow into platform-specific test jobs
- Create ci-test-common.sh for platform-independent tests (models, widgets)
- Create ci-test-linux.sh for Linux-specific tests (Vulkan, RAW processing)
- Add @teston('linux') tags to Linux-specific test files
- Update test_helper.dart to be platform-aware and only build libraries on Linux
- This prevents cross-platform compilation issues (e.g., Linux shaders on macOS)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- macOS build now only depends on test-common, not test-linux
- This allows macOS build to start immediately after common tests pass
- Linux build still depends on both test jobs as expected
- Prevents Linux-specific tests from blocking macOS builds

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Move Linux-specific tests to test/linux/ directory
- Update import paths from ../test_helper.dart to ../../test_helper.dart
- Remove @teston('linux') annotations
- Update CI scripts to run tests from appropriate directories
- ci-test-common.sh runs test/ excluding test/linux/
- ci-test-linux.sh runs only test/linux/
- Remove empty test/processors/ directory

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove non-existent --exclude option and explicitly specify test directories
to run only platform-independent tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Change from ../../test_helper.dart to ../test_helper.dart

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Fixed incorrect aspect ratio expectations in crop tests:

- Portrait crop: Expected 2:3 (0.667), actual 0.5 (300x600)
- Square crop: Fixed to create actual square (400x400) instead of 400x480
- Updated test to use proper square region with equal width/height

Also updated test descriptions to clarify they test crop regions,
not aspect-ratio-constrained crops.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
The DMG creation step was causing timeouts during macOS builds due to
AppleScript execution issues in the CI environment. This change:

- Removes DMG from CI upload artifacts
- Adds CI detection to skip DMG creation entirely
- Matches the successful pattern used in nhac project

This should resolve the macOS build timeouts while still allowing
manual DMG creation when needed for releases.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Removed both Flutter dependencies and Flatpak build artifacts caching
from the Linux build job. This simplifies the CI pipeline and avoids
potential issues with cache corruption or stale build artifacts.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@myyc myyc merged commit d337b3a into master Sep 10, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant